package com.example.qianjun.gobang01.bean;

import android.graphics.Point;

import java.util.Arrays;

/**实现悔棋功能
 * 思路：设置一个存储结构，能够存放10个棋子，从一头存放，存不了就移出去，当点击悔棋时，头上的棋子从棋盘上去掉，棋子向前移动，尾端补上默认值。
 * Created by qianjun on 2016/5/5.
 */
public class PreviousStep {
    Point[] storePoints = new Point[10];


    public void init(){
        //使用常量初始化存储数组
        Arrays.fill(storePoints,Constant.NO_POINT);
    }


    /**
     * 向数组中推入一个棋子，其余棋子一次向后移动，最后一位移除
     * @param point
     */
    public void addOnePiece(Point point){
        for(int i =8;i>=0;i--){
            storePoints[i+1] = storePoints[i];
        }
        storePoints[0] = point;
    }



    /**
     * 从数组中取出第一个棋子，其余9个棋子依次向前移位，最后一位置为常量
     */
    public Point getFirstPiece(){
        Point point = storePoints[0];
        for(int i=0;i<9;i++){
            storePoints[i] = storePoints[i+1];
        }
        storePoints[9] = Constant.NO_POINT;
        return point;
    }

    /**
     * 查看最新的落子的坐标
     * @return
     */
    public Point seeFirstpoint(){
        return storePoints[0];
    }

}
